﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;

namespace POSGui.Clases.Entities
{
    /// <summary>
    /// Clase que maneja los productos
    /// </summary>
    [DataContract]
    public class Product
    {
        [DataMember]
        public int ProductId { get; set; }
        [DataMember]
        public ProductStatus ProductStatus { get; set; }
        [DataMember]
        public string ProductName { get; set; }
        [DataMember]
        public int ProductCategoryId { get; set; }
        [DataMember]
        public int ProductInventoryId { get; set; }
        [DataMember]
        public string ProductCode { get; set; }
        [DataMember]
        public string ProductDescription { get; set; }
        [DataMember]
        public double Price { get; set; }
        [DataMember]
        public int Quantity { get; set; }
        [DataMember]
        public byte[] Image { get; set; }


        /// <summary>
        /// Initializes a new instance of the <see cref="T:POSLogic.BusinessLayer.DataModel.Product"/> class.
        /// </summary>
        public Product(byte[] image, double price, int productCategoryId, string productCode, string productDescription, int productId, int productInventoryId, string productName, ProductStatus productStatus, int quantity)
        {
            Image = image;
            Price = price;
            ProductCategoryId = productCategoryId;
            ProductCode = productCode;
            ProductDescription = productDescription;
            ProductId = productId;
            ProductInventoryId = productInventoryId;
            ProductName = productName;
            ProductStatus = productStatus;
            Quantity = quantity;
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="T:POSLogic.BusinessLayer.DataModel.Product"/> class.
        /// </summary>
        public Product()
        {
        }
    }
}
